---
title: Delete legal person
summary: Removes a legal person/other-firm entry after confirming it is not currently in use.
status: draft
owner: SAIF Documentation Pipeline
last_reviewed: 2026-08-21
library: SAIF.Application.Claim.Legal
reference_type: embedded
operation_id: OP-LGL-013
trigger: clsLegalPersonManager.DeletePerson() invoked
---

# Delete legal person

This operation removes a legal person (or other-firm) entry after delegating an in-use check to the business tier, blocking the deletion when the person is currently referenced.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-LGL-013 |
| **Trigger** | `clsLegalPersonManager.DeletePerson()` invoked |
| **Inputs** | Person ID |
| **Outputs** | Person removed, or blocked with an error message |
| **Primary components** | `clsLegalPersonManager.DeletePerson` |
| **Entry point** | `SAIF.Application.Claim.Legal\clsLegalPersonManager.vb` |

## Steps

1. `DeletePerson()` is invoked for a target person ID. Person-type context is populated from the cached [LEGAL_PERSON_TYPE_CODE](../database-tables.md#legal_person_type_code) lookup ([SQL-015](../sql/SQL-015-person-type-list.md)).
2. Delegate the "in-use" check to `clsLegalPerson.CanDeleteLegalPerson`.

   > **Origin**: delegates to `SAIF.Business.Claim.Legal` (see [operations and processes](../../saif-business-claim-legal/operations-processes.md)) — the internal step sequence of `clsLegalPerson.CanDeleteLegalPerson` was not traced in this run's Stage 1 analysis; this callout is inferred/best-effort.*
3. If the check fails (person is in use) ([BR-LGL-016](../business-rules.md#br-lgl-016-a-legal-person-cannot-be-deleted-while-in-use)):
   - On failure: block the deletion with `"Error: This person is in use, and cannot be deleted."`
4. Otherwise: delete the person.

## Process flow

The following diagram visualizes this operation's control flow.

```mermaid
flowchart TD
	Start([DeletePerson invoked]) --> Check[clsLegalPerson.CanDeleteLegalPerson]
	Check --> InUse{In use?}
	InUse -->|Yes| Blocked([Blocked: person in use])
	InUse -->|No| Delete[Delete person]
	Delete --> EndOk([Done])
```

## Failure and edge-case behavior

- Person currently in use: deletion blocked with a user-facing error message; no exception is thrown to the caller.

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts.

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [SQL catalog](../sql/index.md)
- [Database tables](../database-tables.md)

## Sources
- `SAIF.Application.Claim.Legal\clsLegalPersonManager.vb`
